package site.codeyin.javautils.controller.excel;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author <a href="https://github.com/liangcheng2221">yinjie</a>
 * @date 2024-09-07 9:37
 */
public class Main {
    public static void main(String[] args) {
//        // 注意 simpleWrite在数据量不大的情况下可以使用（5000以内，具体也要看实际情况），数据量大参照 重复多次写入
//
//        // 写法1 JDK8+
//        // since: 3.0.0-beta1
////        String fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx";
//        // 这里 需要指定写用哪个class去写，然后写到第一个sheet，名字为模板 然后文件流会自动关闭
//        // 如果这里想使用03 则 传入excelType参数即可
//
//        List<DemoData> dataList = buildDataList();
//
//
//
//        EasyExcel.write(fileName, DemoData.class)
//                .sheet("模板")
//                .doWrite(() -> {
//                    // 分页查询数据
//                    return data();
//                });
////
////        // 写法2
////        fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx";
////        // 这里 需要指定写用哪个class去写，然后写到第一个sheet，名字为模板 然后文件流会自动关闭
////        // 如果这里想使用03 则 传入excelType参数即可
////        EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(data());
////
////        // 写法3
////        fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx";
////        // 这里 需要指定写用哪个class去写
////        try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) {
////            WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
////            excelWriter.write(data(), writeSheet);
////        }
        DemoData demoData = new DemoData();
        System.out.println(System.currentTimeMillis());
    }

    public static List<DemoData> buildDataList() {
        DemoData demoData = new DemoData();
        demoData.setString("233");
        demoData.setDate(new Date());
        demoData.setDoubleData(12.0);
        demoData.setIgnore("Ignore");

        List<DemoData> dataList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            dataList.add(demoData);
        }
        return dataList;
    }
}
